import {
  apiUserinfo,
  apiUserLogout
} from "@/api/user.js"
import {
  apiCartNum
} from '@/api/shoppingCart'
import { apiNotice } from '@/api/notice'
import { NOTICEID } from '@/types/storage'
import cloneDeep from 'lodash-es/cloneDeep'
export default {
  // 更新用户信息
  updateUserinfo({
    commit,
    state: vuexState
  }) {
    return new Promise((resolve, reject) => {
      apiUserinfo().then((res) => {
        let {
          state,
          data,
          msg
        } = res.data
        if (state === 'OK') {
          resolve(data)
          delete data.menuVOList
          commit('SET_USER_INFO', data)
          data.openid && commit('SET_OPEN_ID', data.openid)
        } else {
          // uni.showToast({
          //   icon: 'none',
          //   title: msg
          // })
          reject(res)
        }
      }).catch(err => {
        console.log(err);
        uni.showToast({
          icon: 'none',
          title: '用户信息更新失败!'
        })
        reject(err)
      })
    })
  },
  // 用户退出登录
  userLogout({
    commit
  }) {
    return new Promise((resolve, reject) => {
      apiUserLogout().then(res => {
        let {
          state,
          msg
        } = res.data
        if (state === 'OK') {
          commit('LOGIN_OUT')
          resolve()
        } else {
          uni.showToast({
            icon: 'none',
            title: msg
          })
          reject(res)
        }
      }).catch(() => {
        uni.showToast({
          icon: 'none',
          title: '退出登录失败!'
        })
        reject(err)
      })
    })
  },
  // 查询购物车商品数量
  getCartNum({commit}) {
    return new Promise((resolve, reject) => {
      apiCartNum().then(res => {
        let {
          state,
          data,
          msg
        } = res.data
        if (state === 'OK') {
          commit('SET_CART_NUM', data)
          resolve()
        } else {
          uni.showToast({
            icon: 'none',
            title: msg
          })
          reject(res)
        }
      }).catch((err) => {
        console.log(err);
        uni.showToast({
          icon: 'none',
          title: '查询购物车失败!'
        })
        reject(err)
      })
    })
  },
  //获取公告信息
  getNoticeData({commit}) {
    // return new Promise((resolve, reject) => {
    //   apiNotice({
    //     pageNum: 1,
    //     pageSize: 20
    //   }).then(res => {
    //     let {
    //       state,
    //       data,
    //       msg
    //     } = res.data
    //     if (state === 'OK') {
    //       let arr = [];
    //       data.records.map(item => {
    //         arr.push(item.id)
    //       })
    //       commit('GET_NOTICE_DATA', arr)
    //       resolve()
    //     } else {
    //       reject(res)
    //     }
    //   }).catch((err) => {
    //     console.log(err);
    //     reject(err)
    //   })
    // })
  }
}
